//
//  GBInterMaster_CommForDeivce.m
//  NetworkTest
//
//  Created by xiaosi on 16/8/4.
//  Copyright © 2016年 xiaosi. All rights reserved.
//

#import "GBInterMaster_CommForDeivce13001.h"

@implementation GBInterMaster_CommForDeivce

/*
 *获取设备最新状态
 *@param msgNumber：消息序号。
 *@param deviceAccount：设备16位序列号。
 */
+ (void) requestDeviceStatus:(int)msgNumber withDeviceAccount:(NSString*)deviceAccount{
    NSDictionary* userData = @{@"msgNumber":[NSNumber numberWithInt:msgNumber],@"cmdType":[NSNumber numberWithInt:PTCP_V10_VALUE_CMD_TYPE_APP_SYSTEM],@"cmd":[NSNumber numberWithInt:LOGIC_APP_CMD_GETDEVICESTATUS],@"deviceAccount":deviceAccount};
    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_REQUEST object:nil userInfo:userData];
}

/*
 *获取设备运行记录
 *@param msgNumber：消息序号。
 *@param tag：0：下拉重新加载， 1：上拉获取下12条运行记录
 *@param deviceAccount：设备16位序列号。
 */
+ (void) requestDeviceRuns:(int)msgNumber withTag:(int)tag withDeviceAccount:(NSString*)deviceAccount{
    NSDictionary* userData = @{@"msgNumber":[NSNumber numberWithInt:msgNumber],@"cmdType":[NSNumber numberWithInt:PTCP_V10_VALUE_CMD_TYPE_APP_SYSTEM],@"cmd":[NSNumber numberWithInt:LOGIC_APP_CMD_GETDEVICERUNRECORD],@"deviceAccount":deviceAccount,@"tag":[NSNumber numberWithInt:tag]};
    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_REQUEST object:nil userInfo:userData];
}

/*
 *获取用户操作记录
 *@param msgNumber：消息序号。
 *@param tag：0：下拉重新加载， 1：上拉获取下12条运行记录
 *@param deviceAccount：设备16位序列号。
 *@param userAccount：使用者的用户名
 */
+ (void) requestUserOpes:(int)msgNumber withTag:(int)tag withDeviceAccount:(NSString*)deviceAccount withUserAccount:(NSString*)userAccount{
    NSDictionary* userData = @{@"msgNumber":[NSNumber numberWithInt:msgNumber],@"cmdType":[NSNumber numberWithInt:PTCP_V10_VALUE_CMD_TYPE_APP_SYSTEM],@"cmd":[NSNumber numberWithInt:LOGIC_APP_CMD_GETUSEROPES],@"deviceAccount":deviceAccount,@"userAccount":userAccount,@"tag":[NSNumber numberWithInt:tag]};
    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_REQUEST object:nil userInfo:userData];
}

/*
 *获取时段信息
 *@param msgNumber：消息序号。
 *@param deviceAccount：设备16位序列号。
 */
+ (void) requestShowProgramInfo:(int)msgNumber withDeviceAccount:(NSString*)deviceAccount{
    NSDictionary* userData = @{@"msgNumber":[NSNumber numberWithInt:msgNumber],@"cmdType":[NSNumber numberWithInt:PTCP_V10_VALUE_CMD_TYPE_APP_SYSTEM],@"cmd":[NSNumber numberWithInt:LOGIC_APP_CMD_GETPROGRAMINFO],@"deviceAccount":deviceAccount};
    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_REQUEST object:nil userInfo:userData];
}

/*
 *设置开关机
 *@param msgNumber：消息序号。
 *@param deviceAccount：设备16位序列号。
 *@param powerSwitch：1:开机 2:关机。
 */
+ (void) requestPowerSwitch:(int)msgNumber withDeviceAccount:(NSString*)deviceAccount withPowerSwitch:(int)powerSwitch{
    NSDictionary* userData = @{@"msgNumber":[NSNumber numberWithInt:msgNumber],@"cmdType":[NSNumber numberWithInt:PTCP_V10_VALUE_CMD_TYPE_APP_DEVICE],@"cmd":[NSNumber numberWithInt:LOGIC_CMD_REQUEST_POWERSWITCH],@"deviceAccount":deviceAccount,@"powerSwitch":[NSNumber numberWithInt:powerSwitch]};
    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_REQUEST object:nil userInfo:userData];
}

/*
 *设置模式
 *@param msgNumber：消息序号。
 *@param deviceAccount：设备16位序列号。
 *@param workMode：3：动 1：手动。
 */
+ (void) requestWorkMode:(int)msgNumber withDeviceAccount:(NSString*)deviceAccount withWorkMode:(int)workMode{
    NSDictionary* userData = @{@"msgNumber":[NSNumber numberWithInt:msgNumber],@"cmdType":[NSNumber numberWithInt:PTCP_V10_VALUE_CMD_TYPE_APP_DEVICE],@"cmd":[NSNumber numberWithInt:LOGIC_CMD_REQUEST_WORKMODEL],@"deviceAccount":deviceAccount,@"workMode":[NSNumber numberWithInt:workMode]};
    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_REQUEST object:nil userInfo:userData];
}

/*
 *设置加热模式
 *@param msgNumber：消息序号。
 *@param deviceAccount：设备16位序列号。
 *@param heatMode：1：速热 2：舒适 3其他：节能。
 */
+ (void) requestHeatMode:(int)msgNumber withDeviceAccount:(NSString*)deviceAccount withHeatMode:(int)heatMode{
    NSDictionary* userData = @{@"msgNumber":[NSNumber numberWithInt:msgNumber],@"cmdType":[NSNumber numberWithInt:PTCP_V10_VALUE_CMD_TYPE_APP_DEVICE],@"cmd":[NSNumber numberWithInt:LOGIC_CMD_REQUEST_HEATMODE],@"deviceAccount":deviceAccount,@"heatMode":[NSNumber numberWithInt:heatMode]};
    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_REQUEST object:nil userInfo:userData];
}

/*
 *设置温度
 *@param msgNumber：消息序号。
 *@param deviceAccount：设备16位序列号。
 *@param heatMode：当前加热模式。
 *@tempe tempe：设置温度。
 */
+ (void) requestSetTempe:(int)msgNumber withDeviceAccount:(NSString*)deviceAccount withHeatMode:(int)heatMode withTempe:(int)tempe{
    NSDictionary* userData = @{@"msgNumber":[NSNumber numberWithInt:msgNumber],@"cmdType":[NSNumber numberWithInt:PTCP_V10_VALUE_CMD_TYPE_APP_DEVICE],@"cmd":[NSNumber numberWithInt:LOGIC_CMD_REQUEST_TEMPEHM],@"deviceAccount":deviceAccount,@"heatMode":[NSNumber numberWithInt:heatMode],@"tempe":[NSNumber numberWithInt:tempe]};
    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_REQUEST object:nil userInfo:userData];
}

/*
 *设置时段
 *@param msgNumber：消息序号。
 *@param deviceAccount：设备16位序列号。
 *@param program：时段，其中 weekDay代表星期，A0：星期一 A1：星期二 。。。A7：星期日。
 */
+ (void) requestSetProgram:(int)msgNumber withDeviceAccount:(NSString*)deviceAccount withProgram:(GBInterMaster_Bean_ProgramInfo*)program{
    NSDictionary* userData = @{@"msgNumber":[NSNumber numberWithInt:msgNumber],@"cmdType":[NSNumber numberWithInt:PTCP_V10_VALUE_CMD_TYPE_APP_DEVICE],@"cmd":[NSNumber numberWithInt:LOGIC_CMD_REQUEST_DAYPARTING],@"deviceAccount":deviceAccount,@"program":program};
    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_REQUEST object:nil userInfo:userData];
}
@end
